16 research outputs found

    MiADL : linguagem para geração automática de simuladores redireccionáveis

    Get PDF
    Tese de Doutoramento em Electrónica Industrial - Área de Conhecimento em Informática IndustrialOs sistemas embutidos, além de fazerem cada vez mais parte da vida do cidadão comum, são dispositivos cada vez mais sofisticados e complexos. As equipas de desenvolvimento de sistemas embutidos têm por isso de lidar com complexidade crescente para atingir performances e requisitos cada vez mais exigentes (ex. hierarquias de memória complexas). Estes dispositivos exigem ferramentas de software – tais como: simuladores, depuradores, assembladores ou compiladores – que têm que acompanhar a evolução dos mesmos. Torna-se por isso fundamental desenvolver de forma rápida o conjunto de ferramentas para determinado sistema embutido para garantir espaço num mercado bastante competitivo, ou seja, conseguir um curto time-tomarket. O desenvolvimento de aplicações que permitam a rápida e eficaz geração deste tipo de ferramentas assume relevo no âmbito do desenvolvimento dos sistemas embutidos. Das ferramentas de software, o simulador é uma das essenciais para o desenvolvimento de novas arquitecturas computacionais. Entre as vantagens que apresenta, destaca-se a flexibilidade e baixo custo, uma vez que permite simular hardware em estágios iniciais do processo de desenvolvimento, sem necessidade de existência física do mesmo. Os primeiros simuladores eram desenvolvidos manualmente. Entretanto têm emergido linguagens de descrição de arquitecturas (ADLs) que facilitam a geração dessas ferramentas de uma forma automática, rápida, redireccionável e menos propensa a erros. Uma das vantagens destas linguagens consiste em permitirem gerar várias ferramentas a partir de uma única descrição, o que garante desde logo compatibilidade e coerência entre elas. Estas linguagens além de aplicação prática para fins industriais, podem também ser usadas para fins educacionais nomeadamente para o ensino de arquitecturas de microprocessadores. Este trabalho de Doutoramento tem por objectivo contribuir para simplificar o processo de construção de simuladores, usados no projecto de sistemas embutidos. Pretende-se mostrar que a melhor forma de alcançar este objectivo consiste numa abordagem usando uma linguagem estruturada e que explora os comportamentos/sintaxes comuns ao conjunto de instruções da arquitectura alvo. Para suportar esta abordagem propõem-se uma linguagem que introduz uma forma diferente de descrever arquitecturas do conjunto de instruções (ISAs). A linguagem nomeada de Minho Architecture Description Language (MiADL), possui uma estrutura que explora o que é comum às instruções (comportamento e assembly) e permite a existência de blocos que são descritos uma vez e podem ser usados várias vezes. Desta forma a validação e identificação de incoerências fica facilitada e conduz a descrições claras, robustas e fáceis de depurar. As principais características desta linguagem são a existência de scopes, a inferência de argumentos, a estrutura em secções que permitem reutilização em diferentes partes da linguagem, a forma como lida com variabilidades e regularidades presentes em ISAs e a relação com a informação presente geralmente em manuais dos processadores. As modelações usando MiADL de vários ISAs complexos, de arquitecturas conhecidas, resulta em descrições bastante compactas, estruturadas e fáceis de explorar, quando comparadas com as conseguidas por outras ADLs. Em termos de simulação, com base em modelações MiADL, na tese é apresentada a infra-estrutura de geração automática de simuladores redireccionáveis de ISAs usando a técnica de simulação compilada estática, recorrendo a generic programming. Esta possibilidade de recorrer àquela técnica de programação deve-se às características da linguagem, que com outras ADLs não é tão fácil de conseguir. Além de tornar o código mais compacto e estruturado, permite que o compilador nativo explore optimizações para conseguir bom desempenho do simulador.Embedded system devices, besides having a growing importance in the common citizen’s life, are more and more sophisticated and complex devices. The embedded systems development teams have to deal with the rising complexity to provide higher performance and more demanding requisites (ex. complex memory organizations). These devices require software tools – such as: simulator, debugger, linker, assembler or compiler - that must be proper to those devices. It is therefore essential to develop in a quick way the software toolkit, for the target embedded system, to assure place in a competitive market, in other words, to shorten time-to-market. The development of applications to efficiently generate the software toolkit is of great importance in the embedded systems development scenario. From the set of software tools, the simulator is an essential tool for the development of new computational architectures. It brings flexibility and reduces the cost, since it allows the hardware simulation in early stages of the development process, without the physical existence of such hardware. The first simulators were hand-coded developed. Since then, new Architecture Description Languages (ADLs) have emerged, that have made easier the generation of these tools in an automatic, quicker, retargetable and error resilient way. One advantage of these languages is that they allow generating several tools from a single description. These languages, besides the practical applications for industrial purposes, can also be used for educational purposes namely for teaching microprocessors architectures. The purpose of this PhD work is to contribute for the simplification of generating simulators to be used in the design of embedded systems. The aim is to demonstrate that the best way is achieved through the use of a structured language which explores the common behavioural/syntaxes of the target instruction set architecture. To support this approach a new language is proposed which introduces a new way to describe Instructions Set Architectures (ISAs). This language, named Minho Architecture Description Language (MiADL), possesses a structure that explores what is common with the instructions (behaviour and assembly) and is block organized. The language blocks can be described once and used several times. In this way the validation and detection of incoherencies is facilitated, leading to clear, robust and easy to debug descriptions. The main features of this language are: scopes existence; arguments inference; structure organized in sections which allows its reuse in different parts of the description; the way in which it deals with variability and regularities present in complex ISAs and similarity with the information usually available in processors manuals. The descriptions of several complex ISAs of known architectures using MiADL, result in rather compact, structured and easy to explore descriptions, when compared with the ones obtained by other ADLs. In this thesis is also discussed the retargetable framework designed for automatic generation of compiled simulators, from MiADL descriptions, using generic programming to execute instruction behaviors. The use of function templates is possible due to MiADL features, with other ADLs this isn’t so easy to accomplish. Besides making the code more compact and structured, allows to explore optimizations from the native compiler to achieve improvements in the simulator´s performace.Ministério da Educação - Prodep II

    Rede CAN para comando de actuadores em estufas agricolas

    Get PDF
    Mestrado em Electrónica IndustrialA crescente importância da utilização de estufas, devido à necessidade de obter com êxito, culturas em ambientes e/ou épocas, que à partida não seriam as mais favoráveis, exige que se desenvolvam sistemas para controlar algumas grandezas consideradas importantes tais como, a temperatura, humidade, radiação solar, etc. No âmbito desta dissertação, pretende-se efectuar o controlo eficiente do ambiente de uma estufa a partir de dados previamente recolhidos e processados. Este trabalho completa outros já realizados, na Universidade de Trás-os-Montes e Alto Douro, nomeadamente a aquisição de dados provenientes de diversos tipo de sensores [1], bem como a implementação de algoritmos de controlo [2], tendo como objectivo ser uma solução para a etapa final, ou seja, a actuação. O sistema desenvolvido permite a execução de acções de controlo após recepção de comandos, provenientes de uma estação base situada na estufa, de acordo com o resultado do processamento de algoritmos de controlo adequados à cultura que se pretenda controlar. Assim, permite o accionamento de diversos dispositivos actuadores, os quais podem ser de diferentes tipos e colocados em diferentes locais da estufa, condicionando o ambiente da mesma. No sistema é utilizado o protocolo de comunicações Controller Area Network (CAN), uma vez que este suporta de forma eficiente e segura o controlo em tempo real e também porque o mesmo serve de base à rede de aquisição do sistema, no qual esta dissertação se enquadra. O protocolo série CAN permite a implementação de uma estrutura em rede com utilização de um número considerável de nós e elevadas taxas de transmissão, o que possibilita a realização do controlo rápido em diversos pontos distribuídos pela estufa, embora neste tipo de aplicação, devido à inércia do ambiente de uma estufa, a robustez, fiabilidade, custo e facilidade de utilização sejam os factores predominantes. É importante referir, também, que devido ao posicionamento dos actuadores numa estufa e ao seu tipo de alimentação, é justificável a utilização de uma arquitectura “cableada” na rede de actuação sem necessidade de recorrer a outros meios de comunicação. Assim, pretende-se desenvolver uma componente que sendo dependente de outras num sistema de controlo de estufas agrícolas, permita concluir esse controlo através da comunicação com os circuitos de accionamento dos actuadores de uma forma fiável, robusta, simples e económica

    Prepare Students for Software Industry: A case study on an agile full stack project

    Get PDF
    Reducing the gap between Software Engineering education and the needs in the software industry is a goal for Academia. Advancement in terms of cutting-edge technical skills and good soft skills preparation is the desired goal to shorten the onboarding in the labour market. Generally, in computer science or computer engineering courses, separate subjects exist to teach requirements engineering, analysis and design, coding, or validation. However, integrating all these phases normally requires experience in developing a complete project. The approach presented in this paper has involved the staff of a software company in collaboration with the staff of an academic Institution and resulted in a student's involvement in a full-stack software development project. The student was involved in an agile team composed of teachers and Information Technology (IT) professionals. Scrum framework was followed, and the product was developed using a low-code development platform. Results show that this agile and full stack approach allows students to develop cutting-edge technical and non- technical skills. The paper presents the approach, the achieved results, some lessons learned and some guidelines for the future.info:eu-repo/semantics/publishedVersio

    Preparing students for the software industry new demands

    Get PDF
    A solid preparation in terms of soft skills and state- of-the-art technical skills in Software Engineering (SE) is a goal for the academy. It also contributes to reducing the gap between Software Engineering education and the software industry's new demands. Generally, in computer science or computer engineering courses, there are separate subjects to teach requirements engineering, analysis, design, coding, or validation. However, integrating all these subjects usually requires experience in developing a complete project. This article describes aspects of an active and collaborative learning approach involving academia and industry actors. The approach presented in this article involved staff from a software company in collaboration with staff from an academic institution. It resulted in a student being involved in an entire software development project. The student was involved in an agile team of faculty and Information Technology (IT) professionals. The Scrum agile framework was followed, and the product was developed using a Low-code development platform. This article presents the approach, details of the project design and implementation, results achieved, lessons learned, and guidelines for the future. The results show that this agile, full-stack approach allows students to develop cutting- edge technical and non-technical skills.info:eu-repo/semantics/publishedVersio

    Aligning Software Engineering Teaching Strategies and Practices with Industrial Needs

    Get PDF
    Several approaches have been proposed to reduce the gap between software engineering education and the needs and practices of the software industry. Many of them aim to promote a more active learning attitude in students and provide them with more realistic experiences, thus recreating industry software development environments and collaborative development and, in some cases, with the involvement of companies mainly acting as potential customers. Since many degree courses typically offer separate subjects to teach requirements engineering, analysis and design, coding, or validation, the integration of all these phases normally necessitates experience in a project context and is usually carried out in a final year project. The approach described in this article benefits from the close involvement of a software house company which goes beyond the common involvement of a potential customer. Students are integrated into distributed teams comprising students, teachers and IT professionals. Teams follow the agile Scrum methodology and use the OutSystems low-code development platform providing students with the experience of an almost real scenario. The results show that this approach complements the knowledge and practice acquired in course subjects, develops the students’ technical and non-technical skills, such as commitment, teamwork, and communication, and initiates them in the methodologies and development strategies used in these companies. The feedback from the teachers involved, software companies and students was very positive.info:eu-repo/semantics/publishedVersio

    Development and test of a low power sensor device in intensive almond crops : a case study in the Region of Beira Baixa

    Get PDF
    In recent years the Internet of Things, in addition to use cases in 'smart cities', has also increasingly been used in precision agriculture. As in the rest of the world, it has been a growing reality in Portugal. In an agricultural environment, where energy resources can be scarce and dispersed, the implementation of a LoRa network with autonomous sensor nodes must consider the limitations imposed by the energy consumed by the sensor node, when powered by a battery and a solar panel. For this, experimental tests must be carried out so that there is enough data for the implementation and optimization of the devices. This article presents a work focused on the study of the autonomy and energy efficiency of the sensor device, using algorithms capable of managing energy consumption as a function of the luminosity of the place. Preliminary results attest to the relevance of this approach, keeping the sensor node in operation without interruptions.info:eu-repo/semantics/publishedVersio

    IoT technologies to promote tourism experiences in low-density territories

    No full text
    Tourism is an important economic sector, which reaches significant relevance in low-density rural areas, where it can be a driver of other sectors of activity that guarantee jobs and small and medium-sized local companies. However, in these regions, most points of tourist interest are scattered, do not have a support structure to receive visitors and, consequently, are difficult to explore for tourism in a profitable way. This article describes a platform that uses technology to expand and enhance opportunities for exploring tourist points and interest in low-density rural territories. This platform provides features for tour operators to publicize and make their points of interest available to tourists, allowing tourists to access certain points of interest automatically using IoT devices, after validation. This possibility is particularly important in low-density territories. This article describes the platform and the results of a preliminary evaluation, at the level of acceptance tests, which allowed to obtain feedback on the interest and usefulness that the application may have.info:eu-repo/semantics/publishedVersio

    Development of a library for clients of ONVIF video cameras: challenges and solutions

    No full text
    The interoperability of IP video equipment is a critical problem for surveillance systems and other video application developers. ONVIF is one of the two specifications addressing the standardization of networked devices interface, and it is based on SOAP. This paper addresses the development of an ONVIF library to develop clients of video cameras. We address the choice of a web services toolkit, and how to use the selected toolkit to develop a basic library. From that, we discuss the implementation of features that ...FCOMP-01-0124-FEDER-02267

    Data gathering system for apparel industry

    No full text
    This paper describes a project that is being developed at Escola Superior de Tecnologia - Instituto Politécnico de Castelo Branco – Portugal. It consists of a prototype for a real time data pick up system, using the Controller Area Network (CAN) bus. The goal is the gathering of data contained in bar code labels that are coupled to cloths pieces in an apparel factory during the production process.info:eu-repo/semantics/publishedVersio
    corecore